|
The Sieve C++ Parallel Programming System is a C++ compiler and parallel runtime designed and released by Codeplay that aims to simplify the parallelization of code so that it may run efficiently on multi-processor or multi-core systems. It is an alternative to other well-known parallelisation methods such as OpenMP, the RapidMind Development Platform and Threading Building Blocks (TBB). ==Introduction== Sieve is a C++ compiler that will take a section of serial code, which is annotated with sieve markers, and parallelize it automatically. The programmer wraps code they wish to parallelise inside a lexical scope, which is tagged as 'sieve'. Inside this scope, referred to commonly as a 'sieve block', certain rules apply (): * All side-effects within the sieve block are delayed until the end of the scope. * Side-effects are defined to be any modifications to data declared outside the sieve block scope. * Only functions annotated with sieve or immediate can be called. Delaying side-effects removes many small dependencies which would usually impede automatic parallelization. Reads and writes can be safely reordered by the compiler as to allow better use of various data movement mechanisms, such as Direct Memory Access(DMA). In addition, alias analysis and dataflow analysis can be simplified (). The compiler can then split up code within the sieve block much easier, to exploit parallelism. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Sieve C++ Parallel Programming System」の詳細全文を読む スポンサード リンク
|